package com.wanmait.wanmarecruit.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.github.pagehelper.PageInfo;
import com.wanmait.wanmarecruit.entity.City;
import com.wanmait.wanmarecruit.entity.Position;
import org.apache.ibatis.annotations.Param;

import java.util.Date;
import java.math.BigDecimal;
import java.util.List;

public interface PositionService extends IService<Position> {

    void batchDele(Integer[] positionIds);

    void updatePosition(Integer positionId);

    PageInfo<Position> getPosition(Position position,Integer companyId,Integer pageNum,Integer pageSize);

    //主页随机八个热门职位（李昀逸）
    List<Position> getRandomEightPosition();

    //主页右侧轮播五个最热职位（李昀逸）
    PageInfo<Position> getTopFivePosition();

    //职位展示页多条件筛选分页查询（李昀逸）
    PageInfo<Position> getPositionByThings( Position position, City city, Integer positionTypeId, Integer[] workExperienceTypeIds, Integer[] educationIds, Integer[] salaryIds, Integer about,Integer pageNum,Integer pageSize);

    //公司详情页通过公司id获得该公司所有职位（张佳玮）
    PageInfo<Position> selectAllPositionByCompanyId(int pageNum,int pageSize,Integer companyId);

    //职位详情页通过id获得页面信息（李昀逸）
    Position getPositionById(Integer id);

    //职位详情页随机四个相关二级分类职位（李昀逸）
    List<Position> getFourPositionByPositionTypeSecondId(Integer id);

    //通过企业id获得企业已发布工作的数量（李昀逸）
    Integer getPutOnPositionCountById(Integer id);

    //通过企业id获得该企业发布所有职位的求职者人数（李昀逸）
    BigDecimal getUserCountById(Integer id);

    PageInfo<Position> selectAllNotEnablePositions(Integer pageNum,Integer pageSize);

    void updateEnablePosition(Integer id);

    void deleteOnePosition(Integer id);
}
